Lifecycle methods are available to class based components:
constructor
static getDerivedStateFromProps
render()
componentDidMount
getSnapshotBeforeUpdate
shouldComponentUpdate
componentDidUpdate -> after the component updates
componentWillUnmount() → cleanup when the component is unmounting
componentDidCatch